/*class SingletoLazy{
    private static SingletoLazy instance =null;
    public  static SingletoLazy getInstance(){
        if(instance==null){
            synchronized (SingletoLazy.class){
                if(instance==null){
                    instance=new SingletoLazy();
                }
            }
        }
        return instance;
    }
    private SingletoLazy(){

    }
}*/

/*
class MyBlockingQueue{
    private String[] data = new String[1000];
    private volatile  int head = 0;
    private volatile  int tail = 0;
    private volatile  int size = 0;
    public void put(String elem) throws InterruptedException {
           synchronized (this){
               while(size== data.length){
                   this.wait();
               }
               data[tail]=elem;
               tail++;
               if(tail== data.length){
                   tail=0;
               }
               size++;
               this.notify();
           }

    }
    public String take() throws InterruptedException {
           synchronized (this){
               while(size== 0){
                   this.wait();
               }
               String s = data[head];
               head++;
               if(head== data.length){
                   head=0;
               }
               size--;
               this.notify();
               return s;
           }
    }
}
*/

public class Test {
/*    public static void main(String[] args) {
        MyBlockingQueue queue =new MyBlockingQueue();
        Thread t1 = new Thread(()->{
            while(true){
                try {
                    String result = queue.take();
                    System.out.println("消费元素"+result);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }

            }
        });
        Thread t2 = new Thread(()->{
            int num = 1;
            while(true){
                try {
                    queue.put(num+" ");
                    System.out.println("生产元素"+num);
                    num++;
                    Thread.sleep(500);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }

            }
        });
        t1.start();
        t2.start();
    }*/
        public static void main(String[] args) {
          String s ="abcd";
            for (char ch:s.charAt()) {

            }
       }

}
